1. Technical Field
The present invention relates to an improved network data processing system. Particularly, the present invention relates to security attribute propagation in a network data processing system. Still more particularly, the present invention relates to using a secure propagation token for tracking security attributes along an invocation chain of a network data processing system.
2. Description of Related Art
As the popularity of the Internet has increased in recent years, more and more consumers and service providers perform transactions over the World Wide Web. These transactions include secured transactions, which require authentication and authorization of a user or a service requester. An example of a secured transaction is a banking transaction, which requests a user to enter a login name and password prior to giving access to the user's bank account information. This type of transaction prevents perpetrators from gaining access to protected information.
However, service providers discover that single point of authentication is more suitable to secured transactions that require many disparate systems, including, for example, the WebSphere Application Server, a product available from International Business Machines Corporation. The single point of authentication is facilitated by using reverse proxy servers (RPS). A RPS is a proxy server placed in front of the firewall that mirrors an actual Web server behind the firewall, such that malicious attacks on the actual Web server are prevented by denying invalid incoming requests.
Within the reverse proxy servers, security attributes from users or service requesters' original logins are retained. These attributes include, for example, static attributes from the enterprise user registry and dynamic attributes from custom login logic based upon location, time of day, and authentication strength. By having access to these attributes, application servers, such as, for example, the WebSphere Application Server, may perform necessary authentication and authorization operations. In addition, backend systems may use these attributes to determine identity of the original requester and make access decisions and audit records accordingly. The backend systems include Customer Information Control System (CICS) and DB2 Universal Database, which are products available from International Business Machines Corporation.
In existing security infrastructures, attempts are made to propagate these security attributes beyond the server which performs the login. Such attempts include a trust association interceptor (TAI) interface that acts as a security gateway to the WebSphere Application Server for incoming requests that are received through the reverse proxy server. However, the TAI interface is designed to only accept a user name of the authenticated user and ignore all other security attributes that are collected from the original login at the reverse proxy server. Other security attributes may include custom tokens that carry authorization attributes useful to other systems downstream.
As a result, a “re-login” to the configured user registry is required by the application server to re-gather many of the security attributes. Unfortunately, the “re-login” attributes gathered may not include attributes that are originally collected at the reverse proxy server, which are useful to a third-party authorization engine or other custom applications. These attributes include original authentication strength, client location and IP address, among other custom attributes gathered during a login.
Therefore, a need exists for an improved network data processing system that propagates security attributes generated at the front-end reverse proxy server to systems downstream, such that more fine-grained authorization decisions may be made based on the first caller or service requester identified by the propagated attributes. In addition, a need exists for improved performance throughput in a data processing system that does not require a new login to the remote user registry each time the application server requests security information.